/**
 * 菜单管理数据模块
 */
import axios from "../../utils/axios";

export default {
    namespaced: true,
    state: {     // 数据存储单元
        menuList: [] 
    },
    mutations: { // 数据操作单元
        initMenuListMutations(state,list) {
            state.menuList = list
        },
        // addMenuMutations(state,menu) {
        //     // 开发mutations函数
        //     state.menuList.push(menu)
        // }
    },
    actions: { // 异步请求单元
        initMenuListActions({commit}) { 
            axios.get("/menulist?istree=1").then(response => {
                if(response.code ===200) {
                    console.log(response.list)
                    commit("initMenuListMutations",response.list)
                }
            })
        },
        addMenuActions( {dispatch},menu) {
            // 1、异步请求：请求数据接口
            axios.post("/menuadd",menu).then(response => {
                // 2、同步调用，调用mutations函数
                if(response.code === 200) {
                    dispatch("initMenuListActions")
                }
            })
        },
        editMenuActions( {dispatch},menu) {
            // 1、访问后台接口完成数据请求
            axios.post("/menuedit",menu).then(response => {
                console.log(response)
                if(response.code === 200) {
                    // 2、调用initMenuListAction完成数据同步
                    dispatch("initMenuListActions")
                }
            })
        },
        deleteMenuActions( {dispatch},id) {
             // 1、异步请求删除数据
             axios.post("/menudelete",{id}).then(response => {
                 if(response.code === 200) {
                      // 2、同步数据-调用了异步请求同步数据
                     dispatch("initMenuListActions")
                 }
                 
             })
        }
    },
    getters: {}
} 